/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jcp.bean;

import com.jcp.modelo.Usuario;
import com.jcp.modelo.dao.UsuarioDao;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author jt-jk
 */
@ManagedBean
@ViewScoped
public class UsauriosBean implements Serializable {

    private List<Usuario> listUsuarios;
    private UsuarioDao usuarioDAO;

    /** Creates a new instance of UsauriosBean */
    public UsauriosBean() {
        try {
            /**
             * Obtenemos una instancia de UsuarioDAO
             */
            usuarioDAO = UsuarioDao.getInstance();

            /**
             * Consultamos la lista de Usuarios de la base de datos, lo hacemos aqui en el constructor 
             * porque en este caso queremos que al cargarse la vista 
             * automaticamente se listen todos los usuarios del sistema
             */
            listUsuarios = usuarioDAO.listarUsuarios();

        } catch (SQLException ex) {
            ex.printStackTrace();
            addMessage("Error al conectarse con la base de datos.", FacesMessage.SEVERITY_FATAL);
        }
    }

    private void addMessage(String mensaje, FacesMessage.Severity severity) {
        FacesMessage fm = new FacesMessage(severity, mensaje, null);
        FacesContext.getCurrentInstance().addMessage(null, fm);
    }

    public List<Usuario> getListUsuarios() {
        return listUsuarios;
    }

    public void setListUsuarios(List<Usuario> listUsuarios) {
        this.listUsuarios = listUsuarios;
    }
}
